package org.jsola.hr.provider;

import org.jsola.core.Page;
import org.jsola.insurance.entity.QyInsuranceRecordDO;
import org.jsola.insurance.query.QyInsuranceRecordQuery;
import org.jsola.insurance.vo.JfStatisticsAnalyseVO;
import org.jsola.insurance.vo.QyInsuranceRecordVO;
import org.jsola.insurance.vo.RecordListStatisticsVO;
import org.jsola.user.core.TokenUser;

import java.util.List;

public interface IInsuranceProviderService {

    /**
     * 分页查询商保记录
     *
     * @param qyInsuranceRecordQuery 查询条件
     * @param tokenUser              当前用户
     * @return 商保记录分页
     */
    Page<QyInsuranceRecordVO> selectPage(QyInsuranceRecordQuery qyInsuranceRecordQuery, TokenUser tokenUser);

    /**
     * 商保统计
     *
     * @param query     查询参数
     * @param tokenUser 当前用户
     * @return 统计数据
     */
    RecordListStatisticsVO recordListStatistics(QyInsuranceRecordQuery query, TokenUser tokenUser);

    /**
     * 导出商保记录
     *
     * @param qyInsuranceRecordQuery 查询条件
     * @param tokenUser              当前用户
     * @return 地址
     */
    String exportRecordList(QyInsuranceRecordQuery qyInsuranceRecordQuery, TokenUser tokenUser);

    /**
     * 查询对应员工的商保记录
     *
     * @param empId     员工Id
     * @param tokenUser 当前用户
     * @return 员工商保记录
     */
    List<QyInsuranceRecordVO> selectEmpInsuranceList(String empId, TokenUser tokenUser);

    /**
     * 商保统计分析
     * @param query 查询参数
     * @param tokenUser 当前用户
     * @return 统计分析结果
     */
    JfStatisticsAnalyseVO jfStatisticsAnalyseInsurance(QyInsuranceRecordQuery query, TokenUser tokenUser);
}
